package com.st.qdmall.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.st.qdmall.dao.UserDao;
import com.st.qdmall.entity.User;
import com.st.qdmall.service.IUserService;

@Service
public class UserServiceImpl implements IUserService {

	@Autowired  // 去Spring的容器中选一个和当前类型匹配的对象，作为下面这个变量的值
	private UserDao userDao;
	
	@Override
	public int register(String username, String password, String password2) {
		// 1. 判断两次密码是否一致
		if (!password.equals(password2)) {
			// 
			return -2;
		}
		
		// 2. 判断用户名是否可用  
		// 查询数据库中是不是已经存在该用户名
		User user = userDao.selectByName(username);
		if (user != null) {
			return -3;
		}
		
		// 保存到数据库
		return userDao.insert(username, password);
	}

	@Override
	public User login(String username, String password) {
		return userDao.select(username, password);
	}

	@Override
	public int modify(User user, String oldpassword, String newpassword, String conpassword) {
		// 1. 判断旧密码是否正确
		if (!user.getPassword().equals(oldpassword)) {
			// 旧密码不对
			return -2;
		}
		
		// 2. 判断两次新密码是否一致
		if (!newpassword.equals(conpassword)) {
			return -3;
		}
		
		// 调用dao层，完成对数据库的修改
		return userDao.update(user.getId(), newpassword);
	}

}




